近來發現工作上用來讀取環控晶片的應用程式漸漸不堪使用,有時候要更改介面或是修改功能,都非常不容易。加上這隻應用程式所用到的驅動程式被列入微軟的易受攻擊的驅動程式封鎖清單中,要運行這隻應用程式還得多出額外步驟才能正常使用,於是有了將這隻應用程式重新架構的念頭。
為了方便修改介面,想用目前常見的web應用程式來呈現,這次使用Electron來作為開發框架。而底層I/O與環控晶片的溝通則使用Windows Driver Framework來撰寫驅動程式。另外也需要建置動態連結函庫DLL供Electron使用,作為Electron與驅動程式之間的橋樑,大致上的架構如下所示:
Hardware <==> Driver <==> DLL <==> Electron
(環控晶片) (I/O) (讀取環控晶片) (數值呈現)
這30天的開發筆記主要會分為以下三大項目記錄:
易受攻擊的驅動程式封鎖清單
Electron
Windows developer documentation - Windows drivers | Microsoft Learn